Cloudflare Workers: computo en el edge sin contenedores

Vista global del planeta con redes de fibra óptica conectando regiones

Cloudflare Workers es la plataforma serverless edge más madura en 2023. Ejecuta tu código JavaScript o WebAssembly en 300+ datacenters globales, sin que tengas que gestionar regiones, contenedores ni cold starts perceptibles. La arquitectura difiere fundamentalmente de Lambda y similares — y esa diferencia define dónde brilla y dónde no llega.

La arquitectura: V8 isolates en lugar de contenedores

AWS Lambda y similares lanzan un contenedor (o microVM como Firecracker) para cada función. Tienen cold starts medibles — de 100ms a varios segundos.

Cloudflare Workers utilizan V8 isolates, la misma tecnología que aísla pestañas en Chrome. Cada Worker corre en un isolate dentro de un proceso Node.js compartido. Las consecuencias:

  • Cold start de 0-5 ms. Crear un isolate es mucho más barato que un contenedor.
  • Footprint de memoria muy bajo. Cientos de Workers pueden coexistir en el mismo proceso.
  • Coste muy bajo por invocación. La free tier de Cloudflare es generosa precisamente porque cada invocación cuesta poquísimo en infraestructura.
  • Limitaciones: no puedes usar APIs de sistema operativo, threads nativos o módulos npm que dependan de bindings nativos.

Para casos donde el modelo encaja, esto es transformador. Para casos donde no, es bloqueante.

Lo que se puede ejecutar

Workers acepta:

  • JavaScript ES Modules moderno.
  • TypeScript (compilado a JS antes del deploy).
  • WebAssembly: Rust, Go (TinyGo), C, AssemblyScript compilados a Wasm. Ideal para lógica CPU-intensive donde JS sería lento.

Lo que no acepta:

  • Módulos Node.js que dependan de bindings C nativos (sharp, bcrypt nativo, etc.).
  • Acceso al filesystem local.
  • Spawn de procesos.
  • Listening de sockets TCP arbitrarios (excepto los outbound permitidos).

Storage: KV, Durable Objects, R2, D1

Workers no es solo cómputo — Cloudflare ha construido un stack de storage edge:

Workers KV

Almacén key-value distribuido globalmente, eventualmente consistente.

  • Lectura: muy rápida y cacheada en cada datacenter.
  • Escritura: propagación a todos los nodos en segundos a un minuto.
  • Caso de uso: configuración, feature flags, cache de respuestas, lecturas frecuentes.
  • Limitaciones: latencia de escritura, no apto para datos transaccionales.

Durable Objects

Objetos con estado consistente y único globalmente. Cada objeto vive en un datacenter (a menudo el más cercano al primer uso) y procesa todas las requests para esa instancia secuencialmente.

  • Caso de uso: sesiones de usuario, salas de chat, contadores precisos, coordinación distribuida.
  • Modelo mental: un actor con estado en ubicación fija pero accesible globalmente.

R2

Object storage compatible con S3, sin egress fees.

  • Caso de uso: assets, vídeos, backups, contenido grande.
  • Ventaja clave: precio sin penalización por servir datos a Internet (vs S3 con egress caro).

D1

Base de datos SQLite distribuida (en beta en 2023, GA pronto).

  • Caso de uso: datos relacionales con queries SQL para apps edge.
  • Modelo: lectura desde réplicas locales, escritura va a una región primaria.

Esta combinación cubre la mayoría de necesidades de aplicaciones edge sin tener que llamar a un origin tradicional.

Casos donde Workers brilla

Donde la arquitectura encaja perfectamente:

  • Edge logic en frontend. Routing inteligente, A/B testing, redirects basados en geo o bot detection.
  • API gateway personalizado. Validar tokens, rate limit, transformar requests antes de enviarlas al origin.
  • APIs simples sin backend tradicional. CRUD ligero con KV o D1 sin desplegar servidores.
  • Streaming y procesamiento de respuestas. Pasar el response del origin a través de Workers para aplicar transformaciones.
  • Webhooks de alto throughput. Reciben muchísimas requests por segundo a coste mínimo.
  • Proxies inteligentes. Workers en front de un origin tradicional, añadiendo cache, auth, telemetría.

Casos donde no es la herramienta

Honestidad: Workers no encaja en todo:

  • APIs con dependencias pesadas npm. Workers no soporta gran parte del ecosistema Node nativo.
  • Workloads CPU-intensivas largas. Hay límites de tiempo de CPU por request (ms-segundos).
  • Long-running tasks. Workers no son contenedores — diseñados para responder rápido.
  • Datos transaccionales fuertes. KV es eventually consistent; D1 está madurando; las garantías ACID son menos fuertes que un Postgres tradicional.
  • Workloads con estado complejo. Durable Objects ayudan pero no resuelven todo.

Comparativa con Lambda y similares

Aspecto Workers AWS Lambda Vercel/Netlify
Cold start ~0-5 ms 100ms-2s Similar a Lambda
Distribución global 300+ datacenters Por región AWS Edge en algunos casos
Lenguajes JS/TS/Wasm Casi todos Mayormente JS/TS
Storage edge integrado No (DynamoDB regional) Limitado
Coste por request Muy bajo Bajo, escala con uso Variable
Soporte Node.js completo Limitado Completo Completo

Para JavaScript edge logic, Workers es la opción más sólida. Para workloads complejas con dependencias amplias, Lambda sigue siendo más flexible.

Workflow de desarrollo

Cloudflare ha invertido en developer experience:

  • wrangler CLI. Crear, desarrollar y deployar Workers desde local.
  • wrangler dev. Desarrollo local con hot reload, simula KV/Durable Objects.
  • Deploy en segundos. Sin build complejo, deploy es prácticamente instantáneo.
  • Logging integrado. wrangler tail muestra logs en vivo.

El loop de iteración es muy rápido comparado con desplegar Lambda + API Gateway + IAM + CloudFront.

Conclusión

Cloudflare Workers ha consolidado el edge serverless como categoría madura en 2023. Para casos que encajan con el modelo (JavaScript/Wasm, lógica corta, storage edge), es probablemente la mejor opción disponible — más rápido, más barato, más distribuido que las alternativas. Para casos que no encajan (workloads pesadas, dependencias Node nativas), no fuerces — usa Lambda o un servidor tradicional. Conocer ambas opciones expande tu repertorio.

Síguenos en jacar.es para más sobre edge computing, serverless y arquitecturas modernas distribuidas.

Entradas relacionadas